//
//  IAudioDecoderFactory.h
//  ScenesPlayer
//
//  Created by Branch on 2016/11/1.
//  Copyright © 2016年 Scenes. All rights reserved.
//

#ifndef __ScenesAudioMix_IAudioDecoderFactory_H__
#define __ScenesAudioMix_IAudioDecoderFactory_H__

#include <stdio.h>
class IAudioDecoder;

//音频解码器工厂类的抽象接口，继承该类以使用自定义的音频解码器

class IAudioDecoderFactory {
    
public:
    
    /**
     创建一个音频解码器。有可能会创建多个解码器，所以每次调用这个方法的时候应该返回一个新的解码器而不是一个已经存在的解码

     @return 返回一个音频解码器
     */
    virtual IAudioDecoder* createAudioDecoder() = 0;
    
    
    /**
     销毁一个音频解码器

     @param audioDecoder 要销毁的解码器
     */
    virtual void destroyAudioDecoder(IAudioDecoder* audioDecoder) = 0;
};

#endif /* __ScenesAudioMix_IAudioDecoderFactory_H__ */
